#ifndef CASO_H
#define CASO_H
#include "variable.h"
#include "casolist.h"
class Caso: public Sentencia
{
public:
    Caso(Sentencia *next,Variable* variable,CasoList *casolist,Sentencia *instrucciones,int fila,int col);
    virtual string is();
    Variable* getVariable();
    CasoList* getCasoList();
    Sentencia* getInstrucciones();
    void setVariable(Variable* variable);
    void setCasoList(CasoList *casolist);
    void setInstrucciones(Sentencia *instrucciones);
    virtual Tipo_ts * validarSemantica(Tabla_Simbolos *tabla_de_tipo,Tabla_Simbolos *tabla_de_varaible);
    virtual string generarCodigo(GenerarVariable* var,Tabla_Simbolos *tabla_de_tipo,Tabla_Simbolos *tabla_de_varaible);
private:
    Variable *variable;
    CasoList *casolist;
    Sentencia *instrucciones;
};

#endif // CASO_H
